package org.jeecg.modules.param.member.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.jeecg.common.api.vo.Result;
import org.jeecg.modules.bicycle.order.vo.Refund;
import org.jeecg.modules.param.member.entity.BikeMemberUser;
import com.baomidou.mybatisplus.extension.service.IService;
import org.jeecg.modules.param.member.vo.MemberStatisticsReq;
import org.jeecg.modules.param.member.vo.MemberStatisticsRsp;
import org.jeecg.modules.param.member.vo.SysUserRes;
import org.jeecg.modules.param.member.vo.UserCard;
import org.jeecg.modules.utils.page.PageInfo;
import org.springframework.web.servlet.ModelAndView;

import javax.servlet.http.HttpServletRequest;
import java.io.Serializable;
import java.util.Collection;
import java.util.List;

/**
 * @Description: 会员用户管理
 * @Author: 月月鸟
 * @Date:   2021-05-25
 * @Version: V1.0
 */
public interface IBikeMemberUserService extends IService<BikeMemberUser> {

	/**
	 * 删除一对多
	 */
	public void delMain (String id);

	/**
	 * 批量删除一对多
	 */
	public void delBatchMain (Collection<? extends Serializable> idList);


	PageInfo pageList(Integer pageNo, Integer pageSize, UserCard userCard);

	Result<?> editUser(BikeMemberUser bikeMemberUser);


	List<UserCard> needList(UserCard userCard);

    Result<?> activate(BikeMemberUser memberUser);

	Result<?> listAdmin(SysUserRes sysUserRes, Integer pageNo, Integer pageSize);

	Result<?> refund(BikeMemberUser memberUser);

	Result<?> delete(String id);

    String checkRecharge(BikeMemberUser bikeMemberUser);

	String checkStatus(String userId);

	Result<?> changePhone(BikeMemberUser bikeMemberUser);
	/**
	 * 会员借车次数统计
	 */
	List<MemberStatisticsRsp> statistics(List<BikeMemberUser> records, MemberStatisticsReq memberStatisticsReq);

	void checkPayOrderByUserId(String userId);

	List<UserCard> queryPageListById(Integer pageNo, Integer pageSize, UserCard userCard);

	boolean checkPhone(String phone);
}
